1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a computer implemented method for integrated circuit design. Still more particularly, the present invention relates to a computer implemented method, system, and computer usable program code for multiple threshold voltage cell families (mVt families) based integrated circuit (IC) design.
2. Description of the Related Art
Modern day electronics include components that use integrated circuits. Integrated circuits are electronic circuits formed using Silicon as a substrate and by adding impurities to form solid-state electronic devices, such as transistors, diodes, and resistors. Commonly known as a “chip,” an integrated circuit is generally encased in hard plastic. The components in modern day electronics generally appear to be rectangular black plastic pellets with connector pins protruding from the plastic encasement.
Circuit designers use a variety of software tools to design electronic circuits that accomplish an intended task. For example, a digital circuit may be designed to accept digital inputs, perform some computation, and produce a digital output. An analog circuit may be designed to accept analog signals, manipulate the analog signals, such as my amplifying, filtering, or mixing the signals, and produce an analog or digital output. Generally, any type of circuit can be designed as an IC.
The software tools used for designing ICs produce, manipulate, or otherwise work with the circuit layout at very small scales. Some of the components that such a tool may manipulate may only measure tens of nanometer across when formed in Silicon. The designs produced and manipulated using these software tools are complex, often including hundreds of thousands of such components interconnected to form an intended electronic circuitry.
The software tools manipulate these components at the components level, or blocks of components level. A block of components is also known as a cell. A cell in an IC design is a portion of the IC design. One way of identifying cells in an IC design is to overlay a grid of imaginary vertical and horizontal lines on the design, and deeming each portion of the IC design bound by horizontal and vertical lines as a cell. Cells formed in this manner are commonly known as global routing cells, or g-cells. Imposing such a grid on an IC design abstracts the global routing problem away from the actual wire implementation and gives a more mathematical representation of the task.
An IC design software tool can, among other functions, manipulate cells, or interconnect components of one cell with components of other cells. The interconnects between components are called wires. A wire is a connection between parts of electronic components, and is formed using a metallic material that conducts electricity.
Placement problem is the problem of placing the cells of a chip such that the design meets all the design parameters of the chip. Routing is the process of connecting the pins after placement. In other words, placement results in a rendering of the components of various cells as being located in certain positions in the design, whereas routing results in a rendering of how the metal layers would be populated with that placement.
A wire can be designed to take any one of the several available paths in a design. Placement of a wire on a certain path, or track, is a part of routing.
Router is a component of IC design tools that performs the routing function. Once the placement component—known as a placer—has performed the placement function, the router attempts to connect the wires without causing congestion. For example, if a design parameter calls for no more than five wires in a given area, the router attempts to honor that restriction in configuring the wiring. Such limitations on the wiring are a type of design constraints and are called congestion constraints. Other types of design constraints may include, for example, blocked areas—cell areas where wires may not be routed.
Global routing is the process of connecting pins of one cell to the pins of other cells. In other words, global routing is the process of connecting the cells with one another. Detailed routing is the process of connecting the components within cells with one another. A type of router—known as the global router—performs the global routing. Another type of router—known as the detailed router—performs the detailed routing. The global and detailed routing produced during the design process is usually further modified during optimization of the design.
Physical synthesis is a process of designing the circuit by placing the required cells and optimizing the locations of the cells and the wires so that the design meets certain design requirements. For example, cells may have to be moved closer during physical synthesis to overcome a longer than desirable delay. As another example, buffers may be introduced or resized to overcome a slew or timing problem.
A threshold voltage is a voltage required to operate a component in a circuit. For example, a metal oxide field effect transistor (MOSFET) has a gate that operates at a threshold voltage. When the threshold voltage or a higher voltage is applied to the gate the MOSFET is turned on and provides a conductive path. When the voltage applied to the gate is below the threshold voltage the MOSFET is turned off.
A low threshold voltage (LVt) cell is a cell that operates in the desired manner at a threshold voltage that is lower than a specified voltage. Different LVt cells may operate at different voltage levels below the specified voltage. Accordingly, more than one family of LVt cells may exist such that a first family of LVt cells operates at a first threshold voltage a second family of LVt cells operates at a second threshold voltage, the first and the second threshold voltages both being lower than the specified voltage by different amounts. A family of cells is a collection of cells where the cell circuits may provide different functions but all cells in a family operate at a common threshold voltage.
Similarly, a high threshold voltage (HVt) cell is a cell that operates in the desired manner at a threshold voltage that is higher than the specified voltage. More than one family of HVt cells may exist such that a first family of HVt cells operates at a first threshold voltage a second family of HVt cells operates at a second threshold voltage, the first and the second threshold voltages both being higher than the specified voltage by different amounts.